iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
DevOps

通过Jenkins 实现 CI&CD系列 第 11

一个完整的 pipeline 示例

  • 分享至 

  • xImage
  •  

今天,我们来看一个完整的 pipeline。

这个 pipeline 主要有三个步骤,从 git 获取代码(Pull),然后进行代码测试,测试完成后,进行 Build。

需要注意的,在没有配置过的 Jenkins 上面运行该 pipeline 会失败的,比方说,我们用于测试的 pylint,你需要在你的 Jenkins 上面安装该软件包,才能使用该命令。还有我们示例代码是 Django 的,所以需要配置 Django 的环境。

Build 过程,需要使用 docker,所以这里在将 docker build 换成了 echo docker build...。

最后,我们还使用了一个 post,使用 cleanup,进行环境清理,它会删除 workspace 中的所有文件,同时还会清理 Docker build 的缓存。

pipeline {
    agent any
    stages {
        stage('Pull') {
            steps {
                retry(3) {
                    git branch: 'master', url: 'https://github.com/Aaron-Yu1/mysite_django.git'
                }
            }
        }
        stage('Test') {
            steps {
                sh 'pylint --rcfile=pylint.conf base'
                sh 'echo Unit Testing...'
            }
        }
        stage('Build') {
            steps {
                sh ''' 
                    mkdir django
                    mv $(ls --ignore=django --ignore=nginx_dockerfile --ignore=django_dockerfile) django
                    cd django
                    tar -zcvf Django.tar.gz ./*
                    cp Django.tar.gz ../django_dockerfile
                    cd ../django_dockerfile
                    echo docker build -t django:v1 .
                    cd ../nginx_dockerfile
                    echo docker build -t nginx:v1 .
                '''
            }
        }
    }
    post { 
        cleanup {
            sh '''
                rm -rf ./*
                echo docker builder prune -f
            '''
        }
    }
}

上一篇
重试(Retry)和超时(Timeout)
下一篇
添加节点
系列文
通过Jenkins 实现 CI&CD26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言